<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>DbEnv::set_region_dir()</title>
    <link rel="stylesheet" href="apiReference.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB C++ API Reference" />
    <link rel="up" href="memp.html" title="Chapter 9.  The DbMpoolFile Handle" />
    <link rel="prev" href="envset_mp_tablesize.html" title="DbEnv::set_mp_tablesize()" />
    <link rel="next" href="mempfclose.html" title="DbMpoolFile::close()" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 12.1.6.2</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">DbEnv::set_region_dir()</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="envset_mp_tablesize.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 9. 
              The  DbMpoolFile Handle
        </th>
          <td width="20%" align="right"> <a accesskey="n" href="mempfclose.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="envset_region_dir"></a>DbEnv::set_region_dir()</h2>
          </div>
        </div>
      </div>
      <pre class="programlisting">#include &lt;db_cxx.h&gt;

int
DbEnv::set_region_dir(const char *dir); </pre>
      <p>
        The path of a directory to be used as the location of disk-backed
        region files.  Region files created by the Memory Pool subsystem
        will be created in this directory.
    </p>
      <p>
        If no region directory is specified, region files are created in
        the environment home directory. See
        <a href="../../programmer_reference/env_naming.html" class="olink">Berkeley DB File Naming</a>
        for more information.
    </p>
      <p>
        The database environment's region directory may also be
        configured using the environment's <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a> file.  The syntax
        of the entry in that file is a single line with the string
        "set_region_dir", one or more whitespace characters, and the directory
        name. Because the <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a> file is read when the database
        environment is opened, it will silently overrule configuration
        done before that time.  Note that if you use this method for your
        application, and you also want to use the various utilities like
        <a class="xref" href="db_recover.html" title="db_recover">db_recover</a>,
        then you should set create a <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a> file and set
        the "set_region_dir" parameter in it.
    </p>
      <p>
        The <code class="methodname">DbEnv::set_region_dir()</code> method configures operations
        performed using the specified <a class="link" href="env.html" title="Chapter 5.  The DbEnv Handle">DbEnv</a>
        handle, not all operations performed on the underlying database
        environment.
    </p>
      <p>
        The <code class="methodname">DbEnv::set_region_dir()</code> method may not be called after the
        <a class="xref" href="envopen.html" title="DbEnv::open()">DbEnv::open()</a> method is called.
        If the database environment already exists when
        <a class="xref" href="envopen.html" title="DbEnv::open()">DbEnv::open()</a> is called, the
        information specified to <code class="methodname">DbEnv::set_region_dir()</code> must be consistent with
        the existing environment or corruption can occur.
    </p>
      <p>
	    The <code class="methodname">DbEnv::set_region_dir()</code> <span>
            
            <span>
                method either returns a non-zero error value or throws an
                exception that encapsulates a non-zero error value on
                failure, and returns 0 on success.
            </span>
        </span>
    </p>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idm139670057786592"></a>Parameters</h3>
            </div>
          </div>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="idm139670057821232"></a>dir</h4>
              </div>
            </div>
          </div>
          <p>
                The <span class="bold"><strong>dir</strong></span> parameter is the
                directory used to store the region files.  This
                directory must currently exist at environment open time.
            </p>
          <p>
                When using a Unicode build on Windows (the default), the
                <span class="bold"><strong>dir</strong></span> argument will be
                interpreted as a UTF-8 string, which is equivalent to
                ASCII for Latin characters.
            </p>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idm139670057783264"></a>Errors</h3>
            </div>
          </div>
        </div>
        <p>
            The <code class="methodname">DbEnv::set_region_dir()</code> <span>
            
            <span>
                method may fail and throw a <a class="link" href="dbexception.html" title="Chapter 6. The DbException Class">DbException</a> 
                exception, encapsulating one of the following non-zero errors, or return one
                of the following non-zero errors:
            </span>
        </span>
        </p>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="idm139670057756688"></a>EINVAL</h4>
              </div>
            </div>
          </div>
          <p>
                If the method was called after <a class="xref" href="envopen.html" title="DbEnv::open()">DbEnv::open()</a> 
                was called; or if an invalid flag value or parameter was specified.
            </p>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idm139670057778448"></a>Class</h3>
            </div>
          </div>
        </div>
        <p>
            <a class="link" href="env.html" title="Chapter 5.  The DbEnv Handle">DbEnv</a>,
            <a class="link" href="memp.html" title="Chapter 9.  The DbMpoolFile Handle">DbMpoolFile</a>
        </p>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idm139670057807552"></a>See Also</h3>
            </div>
          </div>
        </div>
        <p>
            <a class="xref" href="memp.html#memplist" title="Memory Pools and Related Methods">Memory Pools and Related Methods</a>,
            <a class="xref" href="envget_region_dir.html" title="DbEnv::get_region_dir()">DbEnv::get_region_dir()</a>
        </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="envset_mp_tablesize.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="memp.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="mempfclose.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">DbEnv::set_mp_tablesize() </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> DbMpoolFile::close()</td>
        </tr>
      </table>
    </div>
  </body>
</html>
